package peerToPeerFacebook.proj;

import java.io.Serializable;

/** Interface that allows to make remote calls */
public interface RemoteInvoker
{
    /** Invokes method on the remote node. Instance of this class should be attached to remote node.
     * 
     * @param method Name of the method to invoke
     * @param params Parameters to pass to remote call
     * @param resultCallback Return callback that will triggered when remote method call finishes.
     */
    public void invoke(String method, Serializable[] params, IResultCallback resultCallback);

    /** Determinates if there is outstanding call for this client.
     * 
     * @return True - there is pending call and no further call should be made.
     */
    public boolean callPending();
}
